/**
 * 日期格式化函数
 * @param {Date|number} date - 日期对象或时间戳
 * @param {string} [format='yyyy-MM-dd'] - 格式化模板，支持：
 *   - yyyy: 四位年份
 *   - MM: 两位月份
 *   - dd: 两位日期
 * @returns {string} 格式化后的日期字符串
 */
/**
 * 将数组格式的数据转换为对象格式
 * @param {Array<Object>} array - 包含key属性的对象数组
 * @returns {Object} 转换后的对象，以key属性值为键
 */
export function arrayToObject(array, key) {
    return array.reduce((obj, item) => {
        obj[item[key]] = item;
        return obj;
    }, {});
}

export function formatDate(date, format = 'yyyy-MM-dd') {
    // 如果传入的是时间戳，转换为Date对象
    if (typeof date === 'number') {
        date = new Date(date);
    }

    // 获取年、月、日
    const year = date.getFullYear();
    // getMonth()返回0-11，需要加1
    const month = String(date.getMonth() + 1).padStart(2, '0');
    const day = String(date.getDate()).padStart(2, '0');

    // 替换格式化模板
    return format.replace('yyyy', year).replace('MM', month).replace('dd', day);
}

export function upMessage() {
    var messages = [
        { text: '哎呀！地心引力又对我加大了吸引力！', emoji: '🌍⬇️' },
        { text: "看来我又升级了一个'吨'位！", emoji: '🚀🍔' },
        { text: '是不是秤的电池快没了，怎么数字越来越大？', emoji: '🔋🤔' },
        { text: '幸福感上升的同时，体重也同步上涨！', emoji: '😆🍰' },
        { text: '体重在涨，但都是智慧和可爱值的增长！', emoji: '📚🐻' },
        { text: '胖着胖着就习惯了，吃着吃着就开心了！', emoji: '🍕😋' },
        { text: '难道是地球偷偷修改了我的重力参数？', emoji: '🌎💫' },
        { text: '再胖点，我的影子就能给我打伞了！', emoji: '🌞👤☂️' },
        { text: '可能是我体内的幽默感太重了吧！', emoji: '😂⚖️' },
        { text: '这不是变胖，是体型进化，冬天保暖效果更好了！', emoji: '🐧🧣' }
    ];
    return messages[Math.floor(Math.random() * messages.length)];
}

export function downMessage() {
  
    var messages = [
        { text: '终于甩掉了一点点地球对我的束缚！', emoji: '🌍✈️' },
        { text: '是时候换个小一码的外套炫耀一下了！', emoji: '🧥😎' },
        { text: '体重下降，帅气（美貌）指数同步飙升！', emoji: '📈✨' },
        { text: '再这样下去，风大会不会把我吹跑？', emoji: '🍃🏃‍♂️' },
        { text: '我怀疑我的体重偷偷跑去别人身上了！', emoji: '🤭😂' },
        { text: '再减一点，我的影子都要变成细线了！', emoji: '🌞➖👤' },
        { text: '体重变轻了，但灵魂依旧沉甸甸的可爱！', emoji: '🥰💖' },
        { text: '难道是快乐太多，把重量都冲淡了？', emoji: '😆🍹' },
        { text: '努力终于有了回报，小肚腩也开始懂事了！', emoji: '🏆😜' },
        { text: '体重少了一点，但魅力多了一吨！', emoji: '💃🔥' }
    ];
    return messages[Math.floor(Math.random() * messages.length)];
}

export function helloMessage() {
    var messages = [
        { text: '减肥是跟脂肪的战争，你的每一口自律，都是在打胜仗！', emoji: '🎯🔥' },
        { text: '你不是在挨饿，你是在逼脂肪交房租！', emoji: '🏠⚖️' },
        { text: '今天不偷懒，明天称体重就能笑出声！', emoji: '😆📉' },
        { text: '别人嘴上说努力，你是真的在行动，继续保持！', emoji: '💪🚀' },
        { text: '流的每一滴汗，都是脂肪在哭泣！', emoji: '😭💦' },
        { text: '你的目标不是\'瘦一点\'，而是\'瘦到让人羡慕\'！', emoji: '😏🔥' },
        { text: '你正在成为更强的自己，别让昨天的努力白费！', emoji: '🚴‍♂️💥' },
        { text: '坚持下去，等你瘦下来，所有的衣服都会变好看！', emoji: '👗✨' },
        { text: '减肥路上，没有轻松二字，但有超棒的自己等着你！', emoji: '🌟🏆' },
        { text: '别停啊！你都已经熬过最难的阶段了！', emoji: '💪💖' }
    ];
    return messages[Math.floor(Math.random() * messages.length)];
}




/**
 * 生成随机中文昵称
 * @param {number} [length=2] - 昵称长度，默认2个字
 * @returns {string} 随机生成的中文昵称
 */
export function generateChineseNickname(length = 2) {
  // 常用汉字集合
  const commonChars = '的一是了我不人在他有这个上们来到时大地为子中你说生国年着就那和要她出也得里后自以会家可下而过天去能对小多然于心学么之都好看起发当没成只如事把还用第样道想作种开美总从无情己面最女但现前些所同日手又行意动方期它头经长儿回位分爱老因很给名法间斯知世什两次使身者被高已亲其进此话常与活正感';
  let nickname = '';
  for (let i = 0; i < length; i++) {
    const randomIndex = Math.floor(Math.random() * commonChars.length);
    nickname += commonChars[randomIndex];
  }
  return nickname;
}

/**
 * 生成8位随机UUID
 * @returns {string} 8位随机字符串，包含数字和字母
 */
export function generateShortUUID() {
  const chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
  let uuid = '';
  for (let i = 0; i < 8; i++) {
    const randomIndex = Math.floor(Math.random() * chars.length);
    uuid += chars[randomIndex];
  }
  return uuid;
}



